home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / X11 / config / darwin.cf < prev    next >
Text File  |  2006-04-12  |  9KB  |  317 lines

  1. XCOMM $XdotOrg: xc/config/cf/darwin.cf,v 1.4.2.1 2004/12/15 04:53:05 gisburn Exp $
  2. XCOMM platform:  $XFree86: xc/config/cf/darwin.cf,v 1.50 2004/01/20 23:54:50 torrey Exp $
  3.  
  4. /* Darwin / Mac OS X configuration by John Carmack <johnc@idsoftware.com> */
  5.  
  6. /* imake determines the default values by parsing uname */
  7. #ifndef OSName
  8. #define OSName                  DefaultOSName
  9. #endif
  10. #ifndef OSVendor
  11. #define OSVendor                Apple Computer, Inc.
  12. #endif
  13. #ifndef OSMajorVersion
  14. #define OSMajorVersion          DefaultOSMajorVersion
  15. #endif
  16. #ifndef OSMinorVersion
  17. #define OSMinorVersion          DefaultOSMinorVersion
  18. #endif
  19. #ifndef OSTeenyVersion
  20. #define OSTeenyVersion          DefaultOSTeenyVersion
  21. #endif
  22.  
  23. XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
  24.  
  25. /*
  26.  * Define the operating system's capabilities
  27.  */
  28. #define HasSnprintf             YES
  29. #define HasPutenv               YES
  30. #define HasBSD44Sockets         YES
  31. #define Malloc0ReturnsNull      NO
  32. #define HasShadowPasswd         NO
  33. #define HasUsableFileMmap       YES
  34. #define HasZlib                 YES
  35. #ifndef HasShm
  36. # define HasShm                 YES
  37. #endif
  38. #define HasNdbm                 YES
  39. #if OSMajorVersion >= 6
  40. # define HasNCurses             YES
  41. # define HasArc4Random          YES
  42. # define HasGetIfAddrs          YES
  43. # define HasStrlcat             YES
  44. #else
  45. # define HasBasename            NO
  46. # define HasNCurses             NO
  47. #endif
  48. #ifndef HasGroff
  49. # define HasGroff               YES
  50. #endif
  51. #ifndef HasGcc3
  52. # define HasGcc3                NO
  53. #endif
  54.  
  55. /* Older versions don't really support IPv6, but #define AF_INET6. */
  56. #if OSMajorVersion < 6
  57. # define BuildIPv6              NO
  58. #endif
  59.  
  60. /* Thread support */
  61. #define HasPosixThreads         YES
  62. #define SystemMTDefines         -D_REENTRANT
  63. #if OSMajorVersion >= 6
  64. # define HasThreadSafeAPI       YES
  65. # define MTSafeAPIDefines       -DXUSE_MTSAFE_API -DXNO_MTSAFE_UNISTDAPI
  66. #else
  67. # define HasThreadSafeAPI       NO
  68. # define MTSafeAPIDefines       -DXOS_USE_MTSAFE_NETDBAPI
  69. #endif
  70.  
  71. /* Libtool on Darwin always uses minor numbers */
  72. #define LibtoolMinorVersions    YES
  73.  
  74. /* The most common file system, HFS+, is not case sensitive. */
  75. #ifndef CaseSensitiveFileSystem
  76. # define CaseSensitiveFileSystem NO
  77. #endif
  78.  
  79. /*
  80.  * This enables some settings for developers.
  81.  */
  82. #ifndef XFree86Devel
  83. # define XFree86Devel           NO
  84. #endif
  85.  
  86. /*
  87.  * This enables Quartz compatibility.
  88.  * Turn off to build on raw Darwin systems.
  89.  */
  90. #ifndef DarwinQuartzSupport
  91. # define DarwinQuartzSupport    YES
  92. #endif
  93.  
  94. #if DarwinQuartzSupport
  95.  
  96. # if OSMajorVersion >= 7
  97.    PROJ_BUILD = xcodebuild
  98. # else
  99.    PROJ_BUILD = pbxbuild
  100. # endif
  101.  
  102. # ifndef HasXplugin
  103. #  if OSMajorVersion >= 7
  104. #   define HasXplugin           YES
  105. #  else
  106. #   define HasXplugin           NO
  107. #  endif
  108. # endif
  109.  
  110. # if HasXplugin
  111. #  ifndef XpLibDir
  112. #   define XpLibDir             /usr/lib
  113. #  endif
  114. #  ifndef XpIncDir
  115. #   define XpIncDir             $(SERVERSRC)/hw/darwin/quartz/xpr
  116. #  endif
  117.    XPLIBDIR = XpLibDir
  118.    XPINCDIR = XpIncDir
  119. #  define XpluginLibrary        Concat(-L,$(XPLIBDIR)) -lXplugin
  120. # else
  121. #  define XpluginLibrary        /**/
  122. # endif
  123.  
  124. # ifndef BuildAppleDRI
  125. #  if HasXplugin
  126. #   define BuildAppleDRI        YES
  127. #  else
  128. #   define BuildAppleDRI        NO
  129. #  endif
  130. # endif
  131.  
  132. # if BuildAppleDRI
  133. #  define GlxExtraDefines -DGLX_DIRECT_RENDERING -DGLX_USE_APPLEGL GlxArchDefines
  134. # endif
  135.  
  136. # define BuildRootless          YES
  137. #define BuildAppleWMLibrary     YES
  138.  
  139. #endif  /* DarwinQuartzSupport */
  140.  
  141. /* we don't need -lm */
  142. #define MathLibrary             /**/
  143.  
  144. #define TermcapLibrary          -lcurses
  145. #define SetTtyGroup             YES             /* for xterm */
  146.  
  147. /* we don't have a dbm library */
  148. #define DBMLibrary              /**/
  149.  
  150. #define MkdirHierCmd            mkdir -p
  151.  
  152. /* Use flex -l for compatibility with various versions of flex. */
  153. #ifndef LexCmd
  154. # define LexCmd                 flex -l
  155. #endif
  156. #define HasFlex                 YES
  157.  
  158. /*
  159.  * Our cpp isn't in /lib/cpp and early versions don't like -undef.
  160.  * The default cpp-3.3 that ships with Panther inserts spurious #pragmas,
  161.  * so we use the 3.1-based version.
  162.  */
  163. #if OSMajorVersion >= 7
  164. # define CppCmd                 /usr/bin/cpp3
  165. # define StandardCppOptions     -traditional -D__GNUC__
  166. #else
  167. # define CppCmd                 /usr/bin/cpp
  168. #endif
  169. #if HasGcc3
  170. # define RawCppCmd              CppCmd -undef
  171. #else
  172. # define RawCppCmd              CppCmd
  173. #endif
  174.  
  175. /* we have a gcc compatible compiler, but its not called gcc */
  176. #define CcCmd                   /usr/bin/cc
  177. #define CplusplusCmd            /usr/bin/c++
  178.  
  179. /* default flags to pass to cc */
  180. #ifndef DefaultCCOptions
  181. #if XFree86Devel
  182. # define DefaultCCOptions       -Wall -Wpointer-arith -Wstrict-prototypes \
  183.                                 -Wmissing-prototypes -Wmissing-declarations \
  184.                                 -Wredundant-decls -Wnested-externs \
  185.                                 -no-cpp-precomp
  186. #else
  187. # define DefaultCCOptions       -Wall -Wpointer-arith -no-cpp-precomp
  188. #endif
  189. #endif
  190.  
  191. /* flags to pass to cc when building libraries */
  192. #ifndef LibraryCCOptions
  193. # define LibraryCCOptions       DefaultCCOptions -fno-common
  194. #endif
  195.  
  196. /* The cr implementation does not build with NEED_SCREEN_REGIONS,
  197.    so play it safe. */
  198. #ifndef ServerCCOptions
  199. # define ServerCCOptions        DefaultCCOptions -UNEED_SCREEN_REGIONS
  200. #endif
  201.  
  202. #ifdef PpcDarwinArchitecture
  203. # define DarwinMachineDefines   -D__powerpc__
  204. # if HasGcc3
  205. #  define OptimizedCDebugFlags  -Os
  206. # else
  207. #  define OptimizedCDebugFlags  -O2
  208. # endif
  209. # define ByteOrder              X_BIG_ENDIAN
  210. #endif /* PpcDarwinArchitecture */
  211.  
  212. #ifdef i386DarwinArchitecture
  213. # define DarwinMachineDefines   -D__i386__
  214. # if HasGcc3
  215. #  define OptimizedCDebugFlags  -Os
  216. # else
  217. #  define OptimizedCDebugFlags  -O2 -fno-strength-reduce
  218. # endif
  219. # define ByteOrder              X_LITTLE_ENDIAN
  220. #endif /* i386DarwinArchitecture */
  221.  
  222. #if OSMajorVersion < 7
  223. # define DarwinLocaleDefines    -DX_LOCALE
  224. #else
  225. # define DarwinLocaleDefines    /**/
  226. # define XawI18nDefines         -DHAS_WCHAR_H -DHAS_WCTYPE_H -DNO_WIDEC_H
  227. #endif
  228.  
  229. /*
  230.  * __DARWIN__ will be used for platform specific #ifdefs that can't
  231.  * be handled by existing X defines.
  232.  *
  233.  * Darwin's alloca() seg faults (rather than returning NULL) on failed
  234.  * allocations, so we can't use it.
  235.  */
  236. #define StandardDefines         DarwinMachineDefines -D__DARWIN__ \
  237.                                 -DNO_ALLOCA -DCSRG_BASED DarwinLocaleDefines
  238.  
  239. /*
  240.  * Set this to NO to just build the client libs, which should work without
  241.  * having to write any platform specific code.
  242.  */
  243. #ifndef BuildServer
  244. # define BuildServer            YES
  245.  
  246. /* our custom X server */
  247. # define XDarwinServer          YES
  248. #endif
  249.  
  250. /* Thanks to the IOKit, the X server does not have to be SetUID. */
  251. #ifndef InstallXserverSetUID
  252. # define InstallXserverSetUID   NO
  253. #endif
  254.  
  255. /* Allow Xtrans to work with non-SetUID server. */
  256. #ifndef XtransFailSoft
  257. # define XtransFailSoft         YES
  258. #endif
  259.  
  260. /* disable XKB by default as it can cause problems */
  261. #define DfltDisableXKB          YES
  262.  
  263. /* no direct graphics extension */
  264. #define BuildXF86DGA            NO
  265.  
  266. /* Support for tablets and other non-standard input devices */
  267. #ifndef BuildXInputExt
  268. # define BuildXInputExt         YES
  269. #endif
  270. #define BuildXInputLib          YES
  271.  
  272. /* no Display Power Management extension */
  273. #define BuildDPMS               NO
  274.  
  275. /* no XFree86-Misc extension */
  276. #define BuildXF86MiscExt        NO
  277.  
  278. /* no XFree86-VidMode extension */
  279. #define BuildXF86VidModeExt     NO
  280.  
  281. #define BuildLibPathVar         DYLD_LIBRARY_PATH
  282.  
  283. /* include rules to build shared libraries */
  284. #include <darwinLib.rules>
  285.  
  286. /*
  287.  * BundleProgramTarget - Generate rules for compiling, linking and
  288.  * installing a bundle executable. 
  289.  */
  290. #ifndef BundleProgramTarget
  291. #define BundleProgramTarget(program,loader,subdirs,objs,deplib,syslib,dstdir) @@\
  292.                                                                         @@\
  293. AllTarget(program)                            @@\
  294.                                     @@\
  295. program: loader subdirs objs deplib                    @@\
  296.     RemoveTargetProgram($@)                        @@\
  297.     LinkRule($@,-bundle $(LDOPTIONS),objs,deplib $(LDLIBS) syslib -bundle_loader loader) @@\
  298.                                     @@\
  299. InstallProgram(program,dstdir/program.bundle/Contents/MacOS)        @@\
  300.                                     @@\
  301. clean::                                    @@\
  302.     RemoveFile(program)
  303. #endif /* BundleProgramTarget */
  304.  
  305. /*
  306.  * Darwin specific Imake Config files
  307.  */
  308. #ifndef LocalConfigFiles
  309. #define LocalConfigFiles \
  310.     darwinLib.rules \
  311.     darwinLib.tmpl
  312. #endif
  313.  
  314. /* include all the XFree86 rules */
  315. #include <xorg.cf>
  316.  
  317.